#ifndef EventTrans_H
#define EventTrans_H

#include <stdlib.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <netdb.h>
#include <stdio.h>
#include <unistd.h>
#include <map>
#include <iostream>
#include <string.h>
#include <sys/ioctl.h>
#include <net/if.h>

#include "../QCommon/events.h"
#include "../QCommon/QCommon.h"

class EventSender{
    public:
    EventSender();
    ~EventSender();
    void send_msg(AbstractEvent& event);

    private:
    int sock_fd_out;// socket that is used to send message
};

class EventReceiver
{
    public:
    EventReceiver();
    ~EventReceiver();
    AbstractEvent* recv_msg();
    private:
    int sock_fd_in; // socket that is used to receive message
};

#endif // EventTrans_H_INCLUDED
